1
十六進位表示法與虛擬地址空間
AI031Lesson 2
00:00

走進 機器層級程式觀點,在這裡硬體的複雜性被抽象為一個結構化的 虛擬地址空間。在此觀點下,記憶體並非變數的集合,而是一個龐大的、連續的 8 位元區塊陣列,稱為 字節。對於具有 $w$ 位元字長的機器而言,這些位址範圍從 $0$ 到 $2^w - 1$,定義了程式的可達範圍。

1. 十六的威力

二進位是電路的語言,但 十六進位表示法 是程式設計師的語言。因為 $16 = 2^4$,單一的十六進位數字(0–F)能完美對應到 4 位元的半字節。這使得一個 1 字節的值可以用恰好兩個數字來簡潔地表示(例如, 0xFF)。這種簡寫對於閱讀 機器碼組合語言碼至關重要,例如指令 4004dc: 48 03 47 28

圖 2.2:十六進位-二進位-十進位映射十六進位十進位二進位01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 規則:將十進位 x 轉換為十六進位時,反覆計算 x = q ⋅ 16 + r

2. 精確度與運算

當我們操作 整數資料類型時,會遇到 布林環二補數 邏輯。我們必須處理 小端序 儲存, 整數溢位以及 單精度 浮點數中 無限大 ($+\infty$)NaN 存在。理解這些位元模式是掌握 任意大小的運算 及穩健的系統程式設計的第一步。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>